package van.planifolia.demo02;

import java.util.Objects;

/**
 * Created by Intellij IDEA<br>
 *
 * @author Planifolia.Van
 * @version 1.0
 * @date 2022/10/26 16:51
 */
//默认的自定义注解可以加载类上
@My
public class MyAnnotationDemo01{
    //默认的自定义注解可以加载字段上
    @My
    private String name;
    // 默认的自定义注解可以加载方法上面
    @My
    // 默认的自定义注解可以加载方法的参数上
    public boolean equals(@My MyAnnotationDemo01 myAnnotation){
        return this.name!=null && this.name.equals(myAnnotation.name);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
//就可以使用这种方式去创建一个注解，默认创建的注解是可以加载任何地方的，虽然目前没有任何意义
@interface My{

}
class Run{
    public static void main(String[] args) {
        MyAnnotationDemo01 myAnnotation = new MyAnnotationDemo01();
        myAnnotation.setName("12s3");
        MyAnnotationDemo01 myAnnotation1 = new MyAnnotationDemo01();
        myAnnotation1.setName("123");
        System.out.println(myAnnotation.equals(myAnnotation1));
    }
}
